using System;
using System.Collections.Generic;
using System.Text;

namespace InfiniTec.DirectoryServices
{
    /// <summary>
    /// This enumeration specified various options that can be enabled for the <see cref="Translator"/>
    /// class.
    /// </summary>
    [Flags]
    public enum TranslationFlags
    {
        /// <summary>
        /// No options.
        /// </summary>
        None = 0,
        /// <summary>
        /// Performs a syntactical mapping at the client without transferring over the network. 
        /// The only syntactic mapping supported is from <see cref="NameFormat.DistinguishedName" /> to 
        /// <see cref="NameFormat.CanonicalName"/> or <see cref="NameFormat.CanonicalNameEx"/>.
        /// A <see cref="TranslationStatus.NoSyntacticalMappings"/>
        /// is returned if a syntactical mapping is not possible. 
        /// </summary>
        SyntacticalOnly = 0x1,
        /// <summary>
        /// Forces a trip to the domain controller for evaluation, even if the syntax could be 
        /// translated locally. 
        /// </summary>
        EvalAtDomainController = 0x2,
        /// <summary>
        /// The call fails if the domain controller is not a global catalog server
        /// </summary>
        RequireGlobalCatalog = 0x4,
        /// <summary>
        /// Enables cross forest trust referral
        /// </summary>
        TrustReferral = 0x8
    }
}
